Over the last decades usage of wireless devices has increased exponentially. In the mobile societies of developed countries, wireless phones are a necessity not only for busy professionals but for average consumers as well. For example, in metropolitan areas of Europe, Japan, Korea, United States and several other developed countries, wireless phones are fast replacing traditional phones as the primary means of communication. Latest models of wireless phones such as Motorola T720i, are used for not only voice communication, but also for various data communication applications, such as exchanging e-mails, photographs, surfing the Internet, etc. Other wireless communication devices such as personal data assistants (PDA) are also widely used for data communication applications mentioned above.
Such widespread usage of wireless devices has become possible due to a number of technological developments, including availability of low cost and compact memory that can be used to store large amounts of data, low cost and compact micro-processors, etc. The growth of wireless devices capable of holding larger and larger amounts of data and processing a wide variety of applications has resulted in a big demand for software that can be used on wireless devices. Typically, a user of a wireless device buys the wireless device that is loaded with a number of applications or other software by the manufacturer and/or an operator of a wireless communication service. For example, the Motorola T720i wireless phone comes with an Internet browser that is compatible with the wireless access protocol (WAP) version 1.2.1. Alternatively, a user can buy a wireless device software application at a software store and install it on a wireless device using a universal serial bus (USB) connector that allows the wireless device to communicate with a computer.
While, installing a software application on a wireless device using a USB is widely in use today, it is quite inconvenient for a user, as it requires the user to physically buy the software on a computer readable medium such as a compact disc and to connect the wireless device to a computer. This method of installing software on wireless devices is also inefficient because it does not use the wireless communication capabilities of such wireless devices. Moreover, if a software application has more than one feature, the software developer will have to design different packages with different features enabled. For example, a business software application may include a word processing feature, a spreadsheet feature and a database feature, where each combination of these features will have to be sold in different packages. Moreover, once a software package is purchased by a user, it is hard to prevent multiple unauthorized usage of the software package.
For the reasons mentioned above, it is much more advantageous to deliver software to a wireless device by using a wireless communication method. Wireless distribution of wireless device software allows a direct channel of software sales to be developed between users of wireless devices and wireless software developers. Such a sales method results in reduction of intermediary expenses such as creating and distributing software on compact discs or other media, commission costs that a software developer has to pay to a software sales store, warehousing costs for compact discs, wastage of unsold software packages, etc. Moreover, wireless distribution of software allows a developer to distribute not only software but also manuals, help guides, tutorials, etc., directly to a user as per the user's needs. For example, a software developer can remotely debug a software application distributed to a wireless device, etc.
However, such method of software delivery has to address a number of security issues to avoid unauthorized downloading of such software. For example, one may make unauthorized copies of a wireless device software application when a transmission of such wireless device software was received by a number of other wireless devices which may not have purchased such wireless device software. Alternatively, a user may download features of a software package that such a user may not have purchased. Illegal copying of software can drastically reduce potential business opportunities. Also, a software package distributed via a wireless medium may contain important business or personal information, such as a consumer's credit card number, etc., which needs to be secured against unauthorized downloading by a third person. In an extreme case, a hacker or a competitor may attack a wireless distribution network and change content of the software being distributed to the end users. These and other problems mandate that a secure distribution network be established for efficient distribution of wireless software.